<?php
/*
 * Copyright (c) 2017-2025 Tencent. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
namespace TencentCloud\Sqlserver\V20180328\Models;
use TencentCloud\Common\AbstractModel;

/**
 * DescribeBackupMonitor response structure.
 *
 * @method array getTimeStamp() Obtain Backup trend chart timeline.
 * @method void setTimeStamp(array $TimeStamp) Set Backup trend chart timeline.
 * @method array getFreeSpace() Obtain Free backup space.
 * @method void setFreeSpace(array $FreeSpace) Set Free backup space.
 * @method array getActualUsedSpace() Obtain Actual total backup space.
 * @method void setActualUsedSpace(array $ActualUsedSpace) Set Actual total backup space.
 * @method array getLogBackupSpace() Obtain Backup space for logs.
 * @method void setLogBackupSpace(array $LogBackupSpace) Set Backup space for logs.
 * @method array getDataBackupSpace() Obtain Backup space for data.
 * @method void setDataBackupSpace(array $DataBackupSpace) Set Backup space for data.
 * @method string getRequestId() Obtain The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 * @method void setRequestId(string $RequestId) Set The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 */
class DescribeBackupMonitorResponse extends AbstractModel
{
    /**
     * @var array Backup trend chart timeline.
     */
    public $TimeStamp;

    /**
     * @var array Free backup space.
     */
    public $FreeSpace;

    /**
     * @var array Actual total backup space.
     */
    public $ActualUsedSpace;

    /**
     * @var array Backup space for logs.
     */
    public $LogBackupSpace;

    /**
     * @var array Backup space for data.
     */
    public $DataBackupSpace;

    /**
     * @var string The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    public $RequestId;

    /**
     * @param array $TimeStamp Backup trend chart timeline.
     * @param array $FreeSpace Free backup space.
     * @param array $ActualUsedSpace Actual total backup space.
     * @param array $LogBackupSpace Backup space for logs.
     * @param array $DataBackupSpace Backup space for data.
     * @param string $RequestId The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    function __construct()
    {

    }

    /**
     * For internal only. DO NOT USE IT.
     */
    public function deserialize($param)
    {
        if ($param === null) {
            return;
        }
        if (array_key_exists("TimeStamp",$param) and $param["TimeStamp"] !== null) {
            $this->TimeStamp = $param["TimeStamp"];
        }

        if (array_key_exists("FreeSpace",$param) and $param["FreeSpace"] !== null) {
            $this->FreeSpace = $param["FreeSpace"];
        }

        if (array_key_exists("ActualUsedSpace",$param) and $param["ActualUsedSpace"] !== null) {
            $this->ActualUsedSpace = $param["ActualUsedSpace"];
        }

        if (array_key_exists("LogBackupSpace",$param) and $param["LogBackupSpace"] !== null) {
            $this->LogBackupSpace = $param["LogBackupSpace"];
        }

        if (array_key_exists("DataBackupSpace",$param) and $param["DataBackupSpace"] !== null) {
            $this->DataBackupSpace = $param["DataBackupSpace"];
        }

        if (array_key_exists("RequestId",$param) and $param["RequestId"] !== null) {
            $this->RequestId = $param["RequestId"];
        }
    }
}
